// 购物车相关的数据放在这

export default {
  // state: {
  //   // 购物车中的商品数据们 数组
  //   cartItems: uni.getStorageSync('cart')
  //     ? JSON.parse(uni.getStorageSync('cart'))
  //     : [],
  // },

  // state: {},
  state() {
    const str = uni.getStorageSync('cart')

    return {
      cartItems: str ? JSON.parse(str) : [],
    }
  },

  getters: {
    total(state) {
      // return state.cartItems.reduce((sum, item) => {
      //   return sum + item.goods_count
      // }, 0)

      let sum = 0

      state.cartItems.forEach((item) => {
        sum += item.goods_count
      })

      return sum
    },
  },

  mutations: {
    addToCart(state, obj) {
      // obj 商品信息对象
      // state.cartItems.push(obj)

      const temp = state.cartItems.find(
        (item) => item.goods_id === obj.goods_id
      )

      if (temp) {
        // 这件商品已经存在
        temp.goods_count++
      } else {
        // 没有存在过
        state.cartItems.push(obj)
      }

      // 存一份到本地
      uni.setStorageSync('cart', JSON.stringify(state.cartItems))

      console.log('购物车中的数据:', state.cartItems)
    },
  },

  actions: {},

  namespaced: true,
}
